Course

COSC 1560 – Computer Programming II

Section

05 – Downtown Campus, Thursday 5:30 p.m.- 8:30 p.m.

Instructor

Name: Stan Webb

Home Phone: 314-846-5717

Business Phone: 314-577-3934

Fax: 314-577-9484

Personal email: stanwebbstl@aol.com

Business email: stanley.webb@anheuser-busch.com

Website: www.stanwebb.net

Course Description

Uses the C++ language to study the major issues in data management: data entry verification, file design and maintenance, and report generation. May be repeated once for credit. Only offered in a 16-week format.

Incoming Competencies

Prerequisite: COSC 1550 with grade of B or better

Course
Objectives

  1. Briefly review functions and two-dimensional arrays.
  2. Cover programming concepts and skills that are needed to program proficiently in the computer language C++.
  3. Cover pointers, strings, files, structs, and classes.

Learning Outcomes

At the completion of this course this student will be able to:

  1. Write programs in the C++ programming language using arrays, pointers, structured data, and file operations
  2. Analyze problems and design programming solutions for these situations
  3. Write programs using the Department Style Guidelines
  4. Use pointer variables, understand the relationship between arrays and pointers, do pointer arithmetic, and use pointers as parameters
  5. Use the character macros available in cctype and the cstring functions available in string
  6. Declare, initialize, and process the abstract data type, struct, including the use of arrays of structures, structures in functions, and pointers to structures
  7. Write code to read and write to text and binary files
  8. Declare a class with public and private members and functions
  9. Be able to use constructors and destructors

Textbooks

Alternate Version of Starting Out with C++, 4th Edition, Tony Gaddis, Judy Walters, and Godfrey Muganda, Scott Jones, ISBN 1-57676-127-4

Course Requirements

1.      There will be four tests during the semester.  Each test will cover two chapters from the text.  All tests combined will account for 50% of the student's grade. 

2.      Collectively, programming assignments and exercises will count for 50% of the student's grade.  The exercises will be due at the beginning of the class on the due date indicated.  Programming assignments are due at the end of the class on the due date indicated.  There will be at least one exercise assignment and one programming assignment for each week.  The programming assignment will often consist of multiple programs.

3.      A late assignment will receive a 10% deduction for each week it is late.

4.      There will be opportunities to earn extra credit. 

Grading

Grading Scale

A

=

92–100%

B-

=

79–81

D+

=

66–68

A-

=

89-91

C+

=

76–78

D

=

62–65

B+

=

86–88

C

=

72–75

F

=

≤ 61

B

=

82–85

C-

=

69–71

 

 

 

.

University Policies

University policies are provided in the current course catalog and course schedules. They are also available on the university website. This class is governed by the university’s published policies. The following policies are of particular interest:

Academic Honesty

The university is committed to high standards of academic honesty. Students will be held responsible for violations of these standards. Please refer to the university’s academic honesty policies for a definition of academic dishonesty and potential disciplinary actions associated with it.  Students are encouraged to help each other with assignments.  However, every student is expected to do his/her own work.  Copying another student’s programs constitutes cheating and is subject to disciplinary action.

Drops and Withdrawals

Should you choose to drop or withdraw from this course, the date on which you notify the university of your decision will determine the amount of tuition refund you receive. Please refer to the university policies on drops and withdrawals (published elsewhere) to find out what the deadlines are for dropping a course with a full refund and for withdrawing from a course with a partial refund.


 

Course Policies

·         Class attendance is required. If a student misses a class, the student is responsible for the material covered in class.

·         If a student must miss a class due to an emergency, he/she is required to inform the instructor of the circumstances as soon as possible.

·         This syllabus may be revised at the discretion of the instructor without the prior notification or consent of the student.

·         All classes will meet for entire scheduled time.

Course Schedule

The first class meets on 08/25/06.

Week 1

(08/24/06)

Main Topics:

·         Review of topics from COSC 1550: Computer Programming I

·         Introduction to the debugger program

 

Week 2

(08/31/06)

Sections Covered:

·         Section 7.1 – 7.4

Main Topics:

·         Abstract data types

·         Structures

·         Initializing and accessing structures

·         Arrays of structures

·         Nested structures

 

Week 3

(09/07/06)

Sections Covered:

·         7.5 – 7.9, 8.13

Main Topics:

·         Structures as function arguments

·         Returning a structure

·         Abstract Data Types and object-oriented programming

·         Arrays of Structures

 

Week 4

(09/14/06)

Sections Covered:

·         7.10 – 7.11

Main Topics:

·         Introduction to Classes

 

Test 1:

·        7.1 – 7.9

 

Week 5

09/21/06)

 

 

Sections Covered:

·         7.12 – 7.13

Main Topics:

·         Introduction to Classes

·         Multi-file projects

·         Header files and .cpp files

 

Week 6

(09/28/06)

Sections Covered:

·         7.14 – 7.16, 8.14

Main Topics:

·         Constructors

·         Destructors

·         Arrays of Class Objects

 

Week 7

(10/06/06)

Sections Covered:       

·         7.17-7.18 and 13.1

Main Topics:

·         Input Validation Objects

·         Using private member functions

·         Text Files

 

Week 8

(10/12/06)

Sections Covered:

·         10.1 – 10.5

Main Topics:

·         Getting the address of a variable

·         Pointer arithmetic

·         Initializing pointers

 

Test 2:

·         7-11 – 7.18, 8.14, and 13.1

 

Week 9

(10/26/06)

 

Sections Covered:

·         10.6 – 10.11

Main Topics:

·         Comparing Pointers

·         Dynamic Memory Allocation

·         Pointers to structures and objects

 


Week 10

(11/02/06)

Sections Covered:

·         11.1 – 11.2

Main Topics:

·         The “this” pointer

·         Constant member functions

·         Static member functions

 

Week 11

(11/09/06)

 

 

 

 

 

Sections Covered:

·         12.1–12.6

Main Topics:

·         Processing C-strings

·         Processing characters

·         Processing character arrays

·         Using pointers to characters and character arrays

 

Week 12

(11/16/06)

Sections Covered:

·        12.7 – 12.9

Main Topics:

·         String class

·         String class functions

 

Test 3:

·        10.1 – 12.6

 

Week 13

(11/23/06)

Extra Assignment to make up for Thanksgiving Holiday

Week 14

(11/30/06)

Sections Covered:

·         13.2–13.10

Main Topics:

·         Binary files

·         Random Access Files

 

Week 15

(12/07/06)

Sections Covered:

·         14.1-14.5

Main Topics:

·         Recursion and recursive functions

 

Week 16

(12/14/06)

Final Exam:

·        Comprehensive